<template>
  <div class="box">
    <div class="top">
      <p class="title">实时游客统计</p>
      <p class="bg"></p>
      <p class="right">
        可预约总量
        <span class="num">99999</span>
        人
      </p>
    </div>
    <div class="number">
      <span v-for="(item, index) in people" :key="index">{{ item }}</span>
    </div>
    <!-- 将来展示echart图表的位置 -->
    <div class="charts" ref="charts"></div>
  </div>
</template>
<script setup lang="ts">
import * as echarts from 'echarts'
// 水球图拓展插件
import 'echarts-liquidfill'
import { ref, onMounted } from 'vue'

console.log(echarts)
// 获取节点
let charts = ref()
onMounted(() => {
  // 获取 echarts 类的实例
  let mycharts = echarts.init(charts.value)
  // 2. 设置实例的配置项
  mycharts.setOption({
    // 标题
    title: {
      text: '水球图',
    },
    // x 轴
    xAxis: {},
    // y 轴
    yAxis: {},
    // 系列配置
    series: {
      type: 'liquidFill',
      data: [0.6, 0.4, 0.2],
      waveAnimation: true, // 动画
      animationDuration: 3,
      animationDurationUpdate: 0,
      radius: '90%',
      outline: {
        show: true,
        borderDistance: 8,
        itemStyle: {
          color: 'red',
          borderColor: '#294D99',
          borderWidth: 8,
          shadowBlur: 20,
          shadowColor: 'rgba(0, 0, 0, 0.25)',
        },
      },
    },
    // 布局组件
    grid: {
      left: 0,
      right: 0,
      top: 0,
      bottom: 0,
    },
  })
})

let people = ref('216908人')
</script>
<style scoped lang="scss">
.box {
  //   color: #fff;
  background: url('../../images/dataScreen-main-lb.png') no-repeat;
  background-size: 100% 100%;
  margin-top: 10px;
  .top {
    margin-left: 20px;
    .title {
      color: #fff;
      font-size: 20px;
    }
    .bg {
      width: 68px;
      height: 7px;
      background: url('../../images/dataScreen-title.png') no-repeat;
      background-size: 100% 100%;
      margin-top: 10px;
    }
    .right {
      float: right;
      color: #fff;
      font-size: 15px;
      .num {
        color: orange;
      }
    }
  }
  .number {
    padding: 10px;
    margin-top: 30px;
    display: flex;
    span {
      flex: 1;
      height: 40px;
      text-align: center;
      line-height: 40px;
      background: url('../../images/total.png') no-repeat;
      background-size: 100% 100%;
      color: #29fcff;
    }
  }
  .charts {
    width: 100%;
    height: 250px;
    // background: red;
  }
}
</style>
